<?php
namespace Member\Controller;
use Think\Controller;
class CartController extends CommonController {

    /**
     * 购物车列表
     *
     * @return void
     * @author
     **/
    function lists()
    {
        $map['member_id']=$_SESSION['member']['id'];//查询登录人的id
        $map['endble']=0;//查询当前用户未生成订单的购物车商品
        $count=D('Admin/cart')->relation(true)->where($map)->count();//查询满足要求的总记录数

        $Page=new \Think\Page($count,3);//实例化分页类,传入总记录数和每页显示的记录数(1)

        // $Page->setConfig('prev','上一页');//上一页
        // $Page->setConfig('last','尾页');//尾页

        $show=$Page->show();// 输出分页显示
        $list = D('Admin/cart')->relation(true)->where($map)->order('id asc')->limit($Page->firstRow.','.$Page->listRows)->select();

        // print_r( $list);die;

        $this->assign('list',$list);// 赋值数据集
        $this->assign('page',$show);// 赋值分页输出

        $this->display(); // 输出模板
    }



    /**
     * 添加购物车
     *
     * @return void
     * @author
     **/
    function add()
    {

        if (empty($_SESSION['member'])) {
            //先检测用户是否登录
            $this->error('请先登录',U('member/login'),2);die;
        }

        //假设：当我选择了将A商品放入到购物车中，但是我又返回去添加了同样规格的A商品，此时应实现的是:将选择的A商品的购买数量进行添加即可，而不需要再显示另一条A商品同规格的记录
        //因此，在添加之前先进行查询
        //xian查询购物车中是否已经存在相同的商品规格
        $map['member_id']=$_SESSION['member']['id'];
        $map['spec_rule_id']=I('post.spec_rule_id');
        $map['endble']=0;
        $cart=D('cart')->where($map)->find();
        //判断购物车的商品，如果存在则只需要修改购买的数量即可
        if ($cart) {
            //setInc用于更新
            //例：$User->where('id=5')->setInc('score',3);// 用户的积分加3
            //$User->where('id=5')->setInc('score'); // 用户的积分加1
           $id= D('cart')->where($map)->setInc('goods_num',I('post.goods_num'));
        }else{
            $_POST['member_id']=$_SESSION['member']['id'];
            $id= D('cart')->add($_POST);
        }

        // print_r($_POST);die;
        if ($id) {
            $this->success('购物车添加成功',U('member/cart/lists'),1);die;
        }else{
             $this->success('购物车添加失败','',2);die;
        }


        // print_r($_POST);die;
    }
}